1. Field of the Invention
The present invention relates to a parallel computer system capable of providing integral data on large-scale facilities by analyzing the condition of the large-scale facilities through the analytical operations of a plurality of processors, and collecting data obtained by the analytical operations of the processors in a host computer, and a method of communication between the processors of such a parallel computer system.
2. Description of the Related Art
A parallel computer system for parallel operations of a MIMD (multiple information multiple data stream) system having a plurality of processors each provided with a communication means and an individual storage device is one of parallel computer systems provided with a plurality of processors and capable of carrying out parallel analytical operations of data on large-scale facility.
When designing large-scale facilities including an atomic energy plant, very frequent large-scale computation, for example, for the estimation of the behavior of radioactive rays when designing a shielding structure and for the estimation and analysis of the performance of a reactor core when designing the reactor core are required. The computing speed of the parallel computer system must greatly be enhanced to meet such a computation requirement. Recently, there has been developed a parallel computer system comprising a plurality of processors each provided with a communication means and an individual storage device and capable of carrying out analytical operations at a high computing speed. This parallel computer system is able to carry out analytical operations at a very high computing speed at which a computer provided with only a single processor cannot operate.
When solving a problem to develop, for example, a differential equation for analyzing information about a space of a huge, complex construction by using a parallel computer system having a plurality of processors, the space is divided into a plurality of small divisions, and the processors are assigned to the divisions, respectively. Then, each processor needs to carry out only small-scale, simple operations. Conditions for continuity between the divisions can be taken into consideration by transferring boundary condition data from one to another of the processors. In a parallel computer system of the MIMD system, processors exchange data and, at the same time, the flow of operations of the processors of the parallel computer system is controlled.
Referring to FIG. 7 showing the configuration of a parallel computer system by way of example, the parallel computer system has one host computer 1 and eight processors 2-1 to 2-8. The host computer 1 is provided with a storage device 3 and a communication device 4. The processors 2-1 to 2-8 are provided with individual storage devices 5-1 to 5-8 and communication devices 6-1 to 6-8, respectively. The communication devices 4 and 6-1 to 6-8 are interconnected by a communication cable 7.
For example, input data on large-scale facilities or the like given to the host computer 1 is transmitted by the communication device 4 through the communication devices 6-1 to 6-8 to the processors 2-1 to 2-8. The processors 2-1 to 2-8 operate information about divisions of the facilities allocated thereto and, if necessary, the processors 2-1 to 2-8 exchange data with each other. Data obtained by the parallel analytical operations of the processors 2-1 to 2-8 are sent to and integrated into analytical data on the facilities by the host computer 1.
It is unusual that a plurality of processors are able to operate perfectly independently for parallel computation without communication between the processors. Usually, the processors exchange a large amount of data frequently during computation.
When the improvement of the accuracy of computation is necessary, for example, an object space or an object time of operation is divided into smaller meshes, which, however, is accompanied by increase in the amount of data to be exchanged between the processors. Although the computing speed of the parallel computer system can be enhanced by increasing the number of the processors, increase in the number of processors entails increase in the frequency of communication between the processors. In some cases, increase in the frequency of communication between the processors and in the amount of data resulting from the complication of problems to be solved by the parallel computer system is a significant impediment to the enhancement of the computing speed of parallel computation.
In some cases, each processor 2 needs to transfer data to the rest of the plurality of processors 2 to complete one step of computation. In such a case, a plurality of sets of one-to-one communication between the processors are carried out. For example, the processor 2-1 receives data obtained by analytical computation from the two processors 2-2 and 2-3 by the following steps.
Step 1
Operation for data transfer from the processor 2-2 to the processor 2-1
Step 2
Operation for data transfer from the processor 2-3 to the processor 2-1
The processor 2-2 must complete computation before the processor 2-3 to carry out those operations sequentially. Generally, it is impossible to estimate the time computation is to be completed and it is possible that the processor which receives data completes computation before the processor which sends data. Therefore, data is transferred in the following manner to avoid confusion.
Step 1
Operation for data transfer from the processor 2-2 to the processor 2-3
Step 2
Operation for data transfer from the processor 2-3 to the processor 2-1
Data is transferred from the processor 2-2 to the processor 2-3 after the processor 2-2 has completed computation in step 1, and the processor 2-3 transfers the data received from the processor 2-2 together with data produced by the processor 2-3 to the processor 2-1 in step 2. Although the confusion of operations for sending out and receiving data can be avoided if data is transferred as mentioned above, the data produced by the processor 2-2 requires additional communication steps.
In parallel computing utilizing pipeline control, the data obtained by the analytical operation of a processor 2-n is used as an initial condition for the analysis by an adjacent processor 2-(n+1). For example, when solving a problem of heat transfer from a fluid flowing through a passage, the passage is divided into a plurality of divisions, the divisions are allocated to a plurality of processors 2 to solve problems of heat transfer in the divisions 1, 2, . . . respectively by the processors. Since the condition of the fluid at the exit of a division n is the condition of the fluid at the entrance of a division n+1, the data obtained by the analytical operation of the processor 2-n must be transferred from the processor 2-n to the processor 2-(n+1).
The data obtained through the analysis of a boundary condition, such as a temperature distribution or a flow velocity distribution, can be transferred from the upper stream processor to the lower stream processor in a cascaded mode, such as from the processor 2-1 to the processor 2-2, and then from the processor 2-2 to the processor 2-3 as shown in FIG. 8. In FIG. 8, parenthesized numerals indicate data receiving order.
When the data obtained through analysis is transferred in the cascaded mode, data obtained through the analytical operation of one processor and data received by the same processor from another processor must be stored in different memory cell arrays, respectively, even if those data are the same in physical category. Therefore, each processor is provided with a memory cell array for storing received data to prevent the destruction of the data obtained by the operation thereof. For example, a temperature distribution (i, j) received from the adjacent processor 2-(n-1) is stored temporarily in a buffer B(i, j), and the contents of the buffer B(i, j) is transferred to the temperature distribution (i, j) for calculation after sending out the temperature distribution (i, j) obtained by the processor 2-n to the adjacent processor 2-(n+1).
If data is transferred and stored by this data storage method, additional computational procedures (procedures for transferring data from a buffer array) increases with the increase of the amount of data and hence additional storage devices for storing received data are necessary.